The growing trend toward multinational organizations has given rise to a corresponding need for fast, efficient, and accurate internationalization and localization of software applications. The need for localization may arise in many contexts, but typically the requirement for localization is as follows. A software application is created in a given human language and dialect. It may be desirable to market and use the application in several other languages. In such a case, it is not practical in terms of costs and resources to rewrite the application in each of the desired languages. It is, however, desirable to translate the labels and menus of the application user interface (UI) to a target language without modifying the application code.
Typical internationalization and localization schemes associate a visual display with each UI string through use of a catalog-type mechanism. For example, a given string may have a visual representation in English of “NAME” and may be used to elicit the name of a user of the application. During internationalization, the string is translated to “NOM” for a French-language application, “NOMBRE” for a Spanish-language application, and so on. Therefore, there is a one-to-one mapping of the visual representation of each string from one language to another. This allows the strings to be separated from the application code. Some current schemes take account of the fact that a given language may be different depending upon the country in which it is spoken (e.g., American-English vs. Australian-English), or even between regions of a particular country (Northeastern United States vs. Southern United States). Such schemes translate strings based upon “locale”, which is the consideration of the particular language, country, and region. Locale is the finest granularity to which current schemes aspire, but it is often not sufficient when a visual representation in a particular language is amenable to multiple and disparate meanings. That is, ambiguities can result during the translation because current schemes reference a given string based solely on its display value. For example, the term “ACCOUNT” in English may be used to indicate a customer in some applications (e.g., sales industry) and may be used to indicate a monetary value storage entity for other applications (e.g., financial services industry). Therefore, when ACCOUNT appears in an English-language application, the translator has no way of knowing which French word, for example, to translate it to. The string corresponding to ACCOUNT in an English-language application could be translated into the French word meaning customer, or the French word meaning monetary value storage entity, which may have different visual representations. Current internationalization schemes ignore these industry-context discrepancies, thus, fostering ambiguity and error.
Moreover, current internationalization schemes do not provide the ability to translate portions of a given string in different ways to reflect different meanings from one industry to another.
Another disadvantage of internationalization schemes that are based upon the display value of the strings is the inability to provide reliable reuse of translations across different applications or even throughout a given application. For example, an English-language application may employ distinct strings having visual representations that are homonyms (i.e., the visual representations are the same). During translation, each string should be translated to a different visual representation for a given locale. Because current internationalization schemes identify strings by their corresponding visual display value, the context of each instance of the string must be examined to determine the correct translation. This means that reuse of translations for a given visual display value cannot be relied upon.
Therefore, current internationalization schemes exhibit serious disadvantages in terms of both accuracy and efficiency when it comes to strings used in multiple contexts or strings having different meanings across industries.